Struts 2 plug-ins extend the framework by adding features like custom interceptors, results, and configuration options. Common plug-ins connect Struts to other libraries and tools, such as SiteMesh for templating layouts, Tiles for templating user interfaces, and JFreeChart for generating charts. The internal component system manages the lifecycle of components and wires them together through beans and constants that can be configured through XML files.